#include "stm32f10x.h"                  // Device header
#include "Delay.h"

/*Key初始化函数，上拉输入模式，端口为PB1、PB11可以自行更改*/
void Key_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//RCC时钟使能
	
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//上拉输入
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_11;//把1和11个端口全部配置为了推挽输出模式
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//50MHz速度，在按键处不起作用
	GPIO_Init(GPIOB,&GPIO_InitStructure);//初始化

}

/*设置按键返回值*/
uint8_t Key_GetNum(void)
{
	uint8_t KeyNum = 0;
	if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1) == 0)//按键1被按下
	{
		Delay_ms(20);//消抖
		while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_1) == 0);//按键1一直按下,卡在这
		Delay_ms(20);//消抖
		KeyNum = 1;
	}
	
	if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11) == 0)//按键11被按下
	{
		Delay_ms(20);//消抖
		while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_11) == 0);
		Delay_ms(20);//消抖
		KeyNum = 2;
	}
	return KeyNum;
}
